import dayjs from 'dayjs'

/**
 * 获取前几天的时间范围
 * @param {String} format YYYY-MM-DD HH:mm:ss、YYYY-MM-DD
 * @param {Boolean} hms  
 */
export function getToday(format = 'YYYY-MM-DD') {
    const start = dayjs().format(format)
    const end = dayjs().format(format)
    return [start, end]
}

/**
 * 设置时间的两端
 * @param {String} start
 * @param {String} end
 */
export function getDateBetween(start, end) {
    const s = dayjs(start).format('YYYY-MM-DD') + ' 00:00:00'
    const e = dayjs(end).format('YYYY-MM-DD') + ' 23:59:59'
    return [s, e]
}

/**
 * 获取前几天的时间范围
 * @param {Number} days 前N天值
 * @param {Number} newDate 计算的时间节点
 * @param {String} format YYYY-MM-DD HH:mm:ss、YYYY-MM-DD
 */
export function getBeforeDaterange(days = 1, newDate, format = 'YYYY-MM-DD') {
    const date = newDate || new Date()
    const start = dayjs(date).subtract(days, 'day').format(format)
    const end = dayjs(date).format(format)
    return [start, end]
}

/**
 * 获取后几天的时间范围
 * @param {Number} days 后N天值
 * @param {Number} startTime 当前开始日期时分秒
 * @param {Number} endTime 后N天结束日期时分秒
 * @param {String} format YYYY-MM-DD HH:mm:ss、YYYY-MM-DD
 */
export function getAfterDaterange(days = 1, newDate, format = 'YYYY-MM-DD') {
    const date = newDate || new Date()
    const start = dayjs(date).format(format)
    const end = dayjs(date).add(days, 'day').format(format)
    return [start, end]
}
